encryption |
您所在的位置:网站首页 › openssl 私钥解密使用填充pkcs1 › encryption |
我收到了来自合作伙伴的加密文件及其 key 。 key 本身已使用我们的数字证书公钥进行加密。 当我尝试使用以下内容和我们的私钥解密 key 时,出现填充错误,如下所示: C:\openssl rsautl -decrypt -in xxxx_Key -inkey xxxxprivatekey.pem -hexdump -out aeskey.txt Loading 'screen' into random state - done RSA operation error 5612:error:0407109F:rsa routines:RSA_padding_check_PKCS1_type_2:pkcs decoding er ror:.\crypto\rsa\rsa_pk1.c:273: 5612:error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check failed:.\ crypto\rsa\rsa_eay.c:602:如果我将 -Raw 开关添加到解密中,它似乎可以工作,但生成的十六进制转储比我预期的要大得多。任何人都可以提供有关这里可能发生的情况的建议吗?谢谢! 最佳答案 我的猜测是您使用错误的私钥进行解密或者您的密文已损坏。 在 RSA 中,填充用于将加密消息的长度扩展为与模数相同的大小(因此 1024 位 RSA 将消息填充为 1024 位)。 PKCS1 类型 2 是(我相信)PKCS#1 v1.5 的另一个名称,它添加了填充 0x00 || 0x02 || (随机字节)|| 0x00 到消息的开头。解密时完成的第一个检查是消息的开头是0x00 0x02。然后,直到(包括第二个 0x00)的所有字节都被剥离,产生原始消息。如果开头不是 0x00 0x02 或没有第二个 0x00 字节,则存在填充错误。 如果您忽略填充检查,您很可能会收到一条与 RSA 模数大小相同的消息,因为没有删除任何填充。考虑到大多数 RSA 模数至少为 1024 位,这将比 AES key 大得多。 关于encryption - OpenSSL 解密错误 - 填充与原始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32470864/ |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |